package br.com.lh.urabuilder.domain.view
{
	import mx.collections.ArrayCollection;
	import mx.core.IUIComponent;
	import mx.core.UIComponent;
	
	/**
	 * Interface that all view components should implement. 
	 * It can be either an ArrowContainer or a UraActionComponent.
	 * 
	 *  
	 * @author Usuario
	 * 
	 */
	public interface UraElement extends IUIComponent
	{
		/**
		 * @return wheter this element is selected or not. 
		 */
		function get selected():Boolean;
		function set selected(selected:Boolean):void;
		/**
		 * The element should know which actions it 
		 * should perform in order to remove itself from the screen.  
		 * 
		 */
		function remove():void;
		
		function children():ArrayCollection;
		
		
	}
}